﻿//----------------------------------------------------------------------
// <copyright file="ExtensionMethords.cs" company="NTT DATA BEEN (China)">
// Copyright (c)2012 NTT DATA BEEN (China) Information Technology Co.,Ltd.
// </copyright>
// <author> lidawei </author>
// <summary>
// システム名称　　：
// モジュールＩＤ　：
// モジュール名称　：
// 機能概要　　　　：ExtensionMethords类 
// 改訂履歴　　　　：
// 2012-08-01 新規 lidawei    Been0001   
// </summary>
//---------------------------------------------------------------------- 
 

namespace Ntt.NttData.Been.Management.SolutionA.Sync.Operator.BLL
{
    using System;
    using System.Data.SqlClient;

    /// <summary>
    /// DAL层扩展方法
    /// </summary>
   public   static class ExtensionMethords
    {

        /// <summary>
        /// 得到sqlDataReader里的字符串字段的值
        /// 如果是dbnull 返回string.empty
        /// </summary>
        /// <param name="reader">SqlDataReader 对象</param>
        /// <param name="filedName">字段名</param>
        /// <returns></returns>
        public static  string GetStringValue( this SqlDataReader reader,string filedName)
        {
            return reader[filedName] == DBNull.Value ? string.Empty : reader[filedName].ToString();
        }

        /// <summary>
        /// 得到sqlDataReader里的int字段的值
        /// 如果是dbnull 返回0
        /// </summary>
        /// <param name="reader">SqlDataReader 对象</param>
        /// <param name="filedName">字段名</param>
        /// <returns></returns>
        public static int GetInt32Value(this SqlDataReader reader, string filedName)
        {
            return reader[filedName] == DBNull.Value ? 0 : Convert.ToInt32(reader[filedName]);
        }

        /// <summary>
        /// 得到sqlDataReader里的布尔字段的值
        /// 如果是dbnull 返回false
        /// </summary>
        /// <param name="reader">SqlDataReader 对象</param>
        /// <param name="filedName">字段名</param>
        /// <returns></returns>
        public static bool GetBooleanValue(this SqlDataReader reader, string filedName)
        {
            return reader[filedName] != DBNull.Value && Convert.ToBoolean(reader[filedName]);
        }

        /// <summary>
        /// 得到sqlDataReader里的日期字段的值
        /// 如果是dbnull 返回 DateTime.MinValue
        /// </summary>
        /// <param name="reader">SqlDataReader 对象</param>
        /// <param name="filedName">字段名</param>
        /// <returns></returns>
        public static DateTime GetDateTimeValue(this SqlDataReader reader, string filedName)
        {
            return reader[filedName] == DBNull.Value ? DateTime.MinValue : Convert.ToDateTime(reader[filedName]);
        }
        
    }
}
